package com.eshop.tools.service;

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
import com.eshop.tools.domain.QiniuConfig;
import com.eshop.tools.domain.QiniuContent;
import java.util.List;
import org.springframework.data.domain.Pageable;
import com.eshop.tools.service.dto.QiniuQueryCriteria;

public interface QiNiuService
{
    Object queryAll(final QiniuQueryCriteria criteria, final Pageable pageable);
    
    List<QiniuContent> queryAll(final QiniuQueryCriteria criteria);
    
    QiniuConfig find();
    
    QiniuConfig update(final QiniuConfig qiniuConfig);
    
    QiniuContent upload(final MultipartFile file, final QiniuConfig qiniuConfig);
    
    QiniuContent findByContentId(final Long id);
    
    String download(final QiniuContent content, final QiniuConfig config);
    
    void delete(final QiniuContent content, final QiniuConfig config);
    
    void synchronize(final QiniuConfig config);
    
    void deleteAll(final Long[] ids, final QiniuConfig config);
    
    void update(final String type);
    
    void downloadList(final List<QiniuContent> queryAll, final HttpServletResponse response) throws IOException;
}
